package ecs

import (
	"unsafe"
)

func getCompoundType(compound Compound) interface{} {
	length := len(compound)
	if length == 0 || length > 255 {
		return nil
	}
	switch length {
	case 1:
		return *(*[1]uint16)(unsafe.Pointer(&compound[0]))
	case 2:
		return *(*[2]uint16)(unsafe.Pointer(&compound[0]))
	case 3:
		return *(*[3]uint16)(unsafe.Pointer(&compound[0]))
	case 4:
		return *(*[4]uint16)(unsafe.Pointer(&compound[0]))
	case 5:
		return *(*[5]uint16)(unsafe.Pointer(&compound[0]))
	case 6:
		return *(*[6]uint16)(unsafe.Pointer(&compound[0]))
	case 7:
		return *(*[7]uint16)(unsafe.Pointer(&compound[0]))
	case 8:
		return *(*[8]uint16)(unsafe.Pointer(&compound[0]))
	case 9:
		return *(*[9]uint16)(unsafe.Pointer(&compound[0]))
	case 10:
		return *(*[10]uint16)(unsafe.Pointer(&compound[0]))
	case 11:
		return *(*[11]uint16)(unsafe.Pointer(&compound[0]))
	case 12:
		return *(*[12]uint16)(unsafe.Pointer(&compound[0]))
	case 13:
		return *(*[13]uint16)(unsafe.Pointer(&compound[0]))
	case 14:
		return *(*[14]uint16)(unsafe.Pointer(&compound[0]))
	case 15:
		return *(*[15]uint16)(unsafe.Pointer(&compound[0]))
	case 16:
		return *(*[16]uint16)(unsafe.Pointer(&compound[0]))
	case 17:
		return *(*[17]uint16)(unsafe.Pointer(&compound[0]))
	case 18:
		return *(*[18]uint16)(unsafe.Pointer(&compound[0]))
	case 19:
		return *(*[19]uint16)(unsafe.Pointer(&compound[0]))
	case 20:
		return *(*[20]uint16)(unsafe.Pointer(&compound[0]))
	case 21:
		return *(*[21]uint16)(unsafe.Pointer(&compound[0]))
	case 22:
		return *(*[22]uint16)(unsafe.Pointer(&compound[0]))
	case 23:
		return *(*[23]uint16)(unsafe.Pointer(&compound[0]))
	case 24:
		return *(*[24]uint16)(unsafe.Pointer(&compound[0]))
	case 25:
		return *(*[25]uint16)(unsafe.Pointer(&compound[0]))
	case 26:
		return *(*[26]uint16)(unsafe.Pointer(&compound[0]))
	case 27:
		return *(*[27]uint16)(unsafe.Pointer(&compound[0]))
	case 28:
		return *(*[28]uint16)(unsafe.Pointer(&compound[0]))
	case 29:
		return *(*[29]uint16)(unsafe.Pointer(&compound[0]))
	case 30:
		return *(*[30]uint16)(unsafe.Pointer(&compound[0]))
	case 31:
		return *(*[31]uint16)(unsafe.Pointer(&compound[0]))
	case 32:
		return *(*[32]uint16)(unsafe.Pointer(&compound[0]))
	case 33:
		return *(*[33]uint16)(unsafe.Pointer(&compound[0]))
	case 34:
		return *(*[34]uint16)(unsafe.Pointer(&compound[0]))
	case 35:
		return *(*[35]uint16)(unsafe.Pointer(&compound[0]))
	case 36:
		return *(*[36]uint16)(unsafe.Pointer(&compound[0]))
	case 37:
		return *(*[37]uint16)(unsafe.Pointer(&compound[0]))
	case 38:
		return *(*[38]uint16)(unsafe.Pointer(&compound[0]))
	case 39:
		return *(*[39]uint16)(unsafe.Pointer(&compound[0]))
	case 40:
		return *(*[40]uint16)(unsafe.Pointer(&compound[0]))
	case 41:
		return *(*[41]uint16)(unsafe.Pointer(&compound[0]))
	case 42:
		return *(*[42]uint16)(unsafe.Pointer(&compound[0]))
	case 43:
		return *(*[43]uint16)(unsafe.Pointer(&compound[0]))
	case 44:
		return *(*[44]uint16)(unsafe.Pointer(&compound[0]))
	case 45:
		return *(*[45]uint16)(unsafe.Pointer(&compound[0]))
	case 46:
		return *(*[46]uint16)(unsafe.Pointer(&compound[0]))
	case 47:
		return *(*[47]uint16)(unsafe.Pointer(&compound[0]))
	case 48:
		return *(*[48]uint16)(unsafe.Pointer(&compound[0]))
	case 49:
		return *(*[49]uint16)(unsafe.Pointer(&compound[0]))
	case 50:
		return *(*[50]uint16)(unsafe.Pointer(&compound[0]))
	case 51:
		return *(*[51]uint16)(unsafe.Pointer(&compound[0]))
	case 52:
		return *(*[52]uint16)(unsafe.Pointer(&compound[0]))
	case 53:
		return *(*[53]uint16)(unsafe.Pointer(&compound[0]))
	case 54:
		return *(*[54]uint16)(unsafe.Pointer(&compound[0]))
	case 55:
		return *(*[55]uint16)(unsafe.Pointer(&compound[0]))
	case 56:
		return *(*[56]uint16)(unsafe.Pointer(&compound[0]))
	case 57:
		return *(*[57]uint16)(unsafe.Pointer(&compound[0]))
	case 58:
		return *(*[58]uint16)(unsafe.Pointer(&compound[0]))
	case 59:
		return *(*[59]uint16)(unsafe.Pointer(&compound[0]))
	case 60:
		return *(*[60]uint16)(unsafe.Pointer(&compound[0]))
	case 61:
		return *(*[61]uint16)(unsafe.Pointer(&compound[0]))
	case 62:
		return *(*[62]uint16)(unsafe.Pointer(&compound[0]))
	case 63:
		return *(*[63]uint16)(unsafe.Pointer(&compound[0]))
	case 64:
		return *(*[64]uint16)(unsafe.Pointer(&compound[0]))
	case 65:
		return *(*[65]uint16)(unsafe.Pointer(&compound[0]))
	case 66:
		return *(*[66]uint16)(unsafe.Pointer(&compound[0]))
	case 67:
		return *(*[67]uint16)(unsafe.Pointer(&compound[0]))
	case 68:
		return *(*[68]uint16)(unsafe.Pointer(&compound[0]))
	case 69:
		return *(*[69]uint16)(unsafe.Pointer(&compound[0]))
	case 70:
		return *(*[70]uint16)(unsafe.Pointer(&compound[0]))
	case 71:
		return *(*[71]uint16)(unsafe.Pointer(&compound[0]))
	case 72:
		return *(*[72]uint16)(unsafe.Pointer(&compound[0]))
	case 73:
		return *(*[73]uint16)(unsafe.Pointer(&compound[0]))
	case 74:
		return *(*[74]uint16)(unsafe.Pointer(&compound[0]))
	case 75:
		return *(*[75]uint16)(unsafe.Pointer(&compound[0]))
	case 76:
		return *(*[76]uint16)(unsafe.Pointer(&compound[0]))
	case 77:
		return *(*[77]uint16)(unsafe.Pointer(&compound[0]))
	case 78:
		return *(*[78]uint16)(unsafe.Pointer(&compound[0]))
	case 79:
		return *(*[79]uint16)(unsafe.Pointer(&compound[0]))
	case 80:
		return *(*[80]uint16)(unsafe.Pointer(&compound[0]))
	case 81:
		return *(*[81]uint16)(unsafe.Pointer(&compound[0]))
	case 82:
		return *(*[82]uint16)(unsafe.Pointer(&compound[0]))
	case 83:
		return *(*[83]uint16)(unsafe.Pointer(&compound[0]))
	case 84:
		return *(*[84]uint16)(unsafe.Pointer(&compound[0]))
	case 85:
		return *(*[85]uint16)(unsafe.Pointer(&compound[0]))
	case 86:
		return *(*[86]uint16)(unsafe.Pointer(&compound[0]))
	case 87:
		return *(*[87]uint16)(unsafe.Pointer(&compound[0]))
	case 88:
		return *(*[88]uint16)(unsafe.Pointer(&compound[0]))
	case 89:
		return *(*[89]uint16)(unsafe.Pointer(&compound[0]))
	case 90:
		return *(*[90]uint16)(unsafe.Pointer(&compound[0]))
	case 91:
		return *(*[91]uint16)(unsafe.Pointer(&compound[0]))
	case 92:
		return *(*[92]uint16)(unsafe.Pointer(&compound[0]))
	case 93:
		return *(*[93]uint16)(unsafe.Pointer(&compound[0]))
	case 94:
		return *(*[94]uint16)(unsafe.Pointer(&compound[0]))
	case 95:
		return *(*[95]uint16)(unsafe.Pointer(&compound[0]))
	case 96:
		return *(*[96]uint16)(unsafe.Pointer(&compound[0]))
	case 97:
		return *(*[97]uint16)(unsafe.Pointer(&compound[0]))
	case 98:
		return *(*[98]uint16)(unsafe.Pointer(&compound[0]))
	case 99:
		return *(*[99]uint16)(unsafe.Pointer(&compound[0]))
	case 100:
		return *(*[100]uint16)(unsafe.Pointer(&compound[0]))
	case 101:
		return *(*[101]uint16)(unsafe.Pointer(&compound[0]))
	case 102:
		return *(*[102]uint16)(unsafe.Pointer(&compound[0]))
	case 103:
		return *(*[103]uint16)(unsafe.Pointer(&compound[0]))
	case 104:
		return *(*[104]uint16)(unsafe.Pointer(&compound[0]))
	case 105:
		return *(*[105]uint16)(unsafe.Pointer(&compound[0]))
	case 106:
		return *(*[106]uint16)(unsafe.Pointer(&compound[0]))
	case 107:
		return *(*[107]uint16)(unsafe.Pointer(&compound[0]))
	case 108:
		return *(*[108]uint16)(unsafe.Pointer(&compound[0]))
	case 109:
		return *(*[109]uint16)(unsafe.Pointer(&compound[0]))
	case 110:
		return *(*[110]uint16)(unsafe.Pointer(&compound[0]))
	case 111:
		return *(*[111]uint16)(unsafe.Pointer(&compound[0]))
	case 112:
		return *(*[112]uint16)(unsafe.Pointer(&compound[0]))
	case 113:
		return *(*[113]uint16)(unsafe.Pointer(&compound[0]))
	case 114:
		return *(*[114]uint16)(unsafe.Pointer(&compound[0]))
	case 115:
		return *(*[115]uint16)(unsafe.Pointer(&compound[0]))
	case 116:
		return *(*[116]uint16)(unsafe.Pointer(&compound[0]))
	case 117:
		return *(*[117]uint16)(unsafe.Pointer(&compound[0]))
	case 118:
		return *(*[118]uint16)(unsafe.Pointer(&compound[0]))
	case 119:
		return *(*[119]uint16)(unsafe.Pointer(&compound[0]))
	case 120:
		return *(*[120]uint16)(unsafe.Pointer(&compound[0]))
	case 121:
		return *(*[121]uint16)(unsafe.Pointer(&compound[0]))
	case 122:
		return *(*[122]uint16)(unsafe.Pointer(&compound[0]))
	case 123:
		return *(*[123]uint16)(unsafe.Pointer(&compound[0]))
	case 124:
		return *(*[124]uint16)(unsafe.Pointer(&compound[0]))
	case 125:
		return *(*[125]uint16)(unsafe.Pointer(&compound[0]))
	case 126:
		return *(*[126]uint16)(unsafe.Pointer(&compound[0]))
	case 127:
		return *(*[127]uint16)(unsafe.Pointer(&compound[0]))
	case 128:
		return *(*[128]uint16)(unsafe.Pointer(&compound[0]))
	case 129:
		return *(*[129]uint16)(unsafe.Pointer(&compound[0]))
	case 130:
		return *(*[130]uint16)(unsafe.Pointer(&compound[0]))
	case 131:
		return *(*[131]uint16)(unsafe.Pointer(&compound[0]))
	case 132:
		return *(*[132]uint16)(unsafe.Pointer(&compound[0]))
	case 133:
		return *(*[133]uint16)(unsafe.Pointer(&compound[0]))
	case 134:
		return *(*[134]uint16)(unsafe.Pointer(&compound[0]))
	case 135:
		return *(*[135]uint16)(unsafe.Pointer(&compound[0]))
	case 136:
		return *(*[136]uint16)(unsafe.Pointer(&compound[0]))
	case 137:
		return *(*[137]uint16)(unsafe.Pointer(&compound[0]))
	case 138:
		return *(*[138]uint16)(unsafe.Pointer(&compound[0]))
	case 139:
		return *(*[139]uint16)(unsafe.Pointer(&compound[0]))
	case 140:
		return *(*[140]uint16)(unsafe.Pointer(&compound[0]))
	case 141:
		return *(*[141]uint16)(unsafe.Pointer(&compound[0]))
	case 142:
		return *(*[142]uint16)(unsafe.Pointer(&compound[0]))
	case 143:
		return *(*[143]uint16)(unsafe.Pointer(&compound[0]))
	case 144:
		return *(*[144]uint16)(unsafe.Pointer(&compound[0]))
	case 145:
		return *(*[145]uint16)(unsafe.Pointer(&compound[0]))
	case 146:
		return *(*[146]uint16)(unsafe.Pointer(&compound[0]))
	case 147:
		return *(*[147]uint16)(unsafe.Pointer(&compound[0]))
	case 148:
		return *(*[148]uint16)(unsafe.Pointer(&compound[0]))
	case 149:
		return *(*[149]uint16)(unsafe.Pointer(&compound[0]))
	case 150:
		return *(*[150]uint16)(unsafe.Pointer(&compound[0]))
	case 151:
		return *(*[151]uint16)(unsafe.Pointer(&compound[0]))
	case 152:
		return *(*[152]uint16)(unsafe.Pointer(&compound[0]))
	case 153:
		return *(*[153]uint16)(unsafe.Pointer(&compound[0]))
	case 154:
		return *(*[154]uint16)(unsafe.Pointer(&compound[0]))
	case 155:
		return *(*[155]uint16)(unsafe.Pointer(&compound[0]))
	case 156:
		return *(*[156]uint16)(unsafe.Pointer(&compound[0]))
	case 157:
		return *(*[157]uint16)(unsafe.Pointer(&compound[0]))
	case 158:
		return *(*[158]uint16)(unsafe.Pointer(&compound[0]))
	case 159:
		return *(*[159]uint16)(unsafe.Pointer(&compound[0]))
	case 160:
		return *(*[160]uint16)(unsafe.Pointer(&compound[0]))
	case 161:
		return *(*[161]uint16)(unsafe.Pointer(&compound[0]))
	case 162:
		return *(*[162]uint16)(unsafe.Pointer(&compound[0]))
	case 163:
		return *(*[163]uint16)(unsafe.Pointer(&compound[0]))
	case 164:
		return *(*[164]uint16)(unsafe.Pointer(&compound[0]))
	case 165:
		return *(*[165]uint16)(unsafe.Pointer(&compound[0]))
	case 166:
		return *(*[166]uint16)(unsafe.Pointer(&compound[0]))
	case 167:
		return *(*[167]uint16)(unsafe.Pointer(&compound[0]))
	case 168:
		return *(*[168]uint16)(unsafe.Pointer(&compound[0]))
	case 169:
		return *(*[169]uint16)(unsafe.Pointer(&compound[0]))
	case 170:
		return *(*[170]uint16)(unsafe.Pointer(&compound[0]))
	case 171:
		return *(*[171]uint16)(unsafe.Pointer(&compound[0]))
	case 172:
		return *(*[172]uint16)(unsafe.Pointer(&compound[0]))
	case 173:
		return *(*[173]uint16)(unsafe.Pointer(&compound[0]))
	case 174:
		return *(*[174]uint16)(unsafe.Pointer(&compound[0]))
	case 175:
		return *(*[175]uint16)(unsafe.Pointer(&compound[0]))
	case 176:
		return *(*[176]uint16)(unsafe.Pointer(&compound[0]))
	case 177:
		return *(*[177]uint16)(unsafe.Pointer(&compound[0]))
	case 178:
		return *(*[178]uint16)(unsafe.Pointer(&compound[0]))
	case 179:
		return *(*[179]uint16)(unsafe.Pointer(&compound[0]))
	case 180:
		return *(*[180]uint16)(unsafe.Pointer(&compound[0]))
	case 181:
		return *(*[181]uint16)(unsafe.Pointer(&compound[0]))
	case 182:
		return *(*[182]uint16)(unsafe.Pointer(&compound[0]))
	case 183:
		return *(*[183]uint16)(unsafe.Pointer(&compound[0]))
	case 184:
		return *(*[184]uint16)(unsafe.Pointer(&compound[0]))
	case 185:
		return *(*[185]uint16)(unsafe.Pointer(&compound[0]))
	case 186:
		return *(*[186]uint16)(unsafe.Pointer(&compound[0]))
	case 187:
		return *(*[187]uint16)(unsafe.Pointer(&compound[0]))
	case 188:
		return *(*[188]uint16)(unsafe.Pointer(&compound[0]))
	case 189:
		return *(*[189]uint16)(unsafe.Pointer(&compound[0]))
	case 190:
		return *(*[190]uint16)(unsafe.Pointer(&compound[0]))
	case 191:
		return *(*[191]uint16)(unsafe.Pointer(&compound[0]))
	case 192:
		return *(*[192]uint16)(unsafe.Pointer(&compound[0]))
	case 193:
		return *(*[193]uint16)(unsafe.Pointer(&compound[0]))
	case 194:
		return *(*[194]uint16)(unsafe.Pointer(&compound[0]))
	case 195:
		return *(*[195]uint16)(unsafe.Pointer(&compound[0]))
	case 196:
		return *(*[196]uint16)(unsafe.Pointer(&compound[0]))
	case 197:
		return *(*[197]uint16)(unsafe.Pointer(&compound[0]))
	case 198:
		return *(*[198]uint16)(unsafe.Pointer(&compound[0]))
	case 199:
		return *(*[199]uint16)(unsafe.Pointer(&compound[0]))
	case 200:
		return *(*[200]uint16)(unsafe.Pointer(&compound[0]))
	case 201:
		return *(*[201]uint16)(unsafe.Pointer(&compound[0]))
	case 202:
		return *(*[202]uint16)(unsafe.Pointer(&compound[0]))
	case 203:
		return *(*[203]uint16)(unsafe.Pointer(&compound[0]))
	case 204:
		return *(*[204]uint16)(unsafe.Pointer(&compound[0]))
	case 205:
		return *(*[205]uint16)(unsafe.Pointer(&compound[0]))
	case 206:
		return *(*[206]uint16)(unsafe.Pointer(&compound[0]))
	case 207:
		return *(*[207]uint16)(unsafe.Pointer(&compound[0]))
	case 208:
		return *(*[208]uint16)(unsafe.Pointer(&compound[0]))
	case 209:
		return *(*[209]uint16)(unsafe.Pointer(&compound[0]))
	case 210:
		return *(*[210]uint16)(unsafe.Pointer(&compound[0]))
	case 211:
		return *(*[211]uint16)(unsafe.Pointer(&compound[0]))
	case 212:
		return *(*[212]uint16)(unsafe.Pointer(&compound[0]))
	case 213:
		return *(*[213]uint16)(unsafe.Pointer(&compound[0]))
	case 214:
		return *(*[214]uint16)(unsafe.Pointer(&compound[0]))
	case 215:
		return *(*[215]uint16)(unsafe.Pointer(&compound[0]))
	case 216:
		return *(*[216]uint16)(unsafe.Pointer(&compound[0]))
	case 217:
		return *(*[217]uint16)(unsafe.Pointer(&compound[0]))
	case 218:
		return *(*[218]uint16)(unsafe.Pointer(&compound[0]))
	case 219:
		return *(*[219]uint16)(unsafe.Pointer(&compound[0]))
	case 220:
		return *(*[220]uint16)(unsafe.Pointer(&compound[0]))
	case 221:
		return *(*[221]uint16)(unsafe.Pointer(&compound[0]))
	case 222:
		return *(*[222]uint16)(unsafe.Pointer(&compound[0]))
	case 223:
		return *(*[223]uint16)(unsafe.Pointer(&compound[0]))
	case 224:
		return *(*[224]uint16)(unsafe.Pointer(&compound[0]))
	case 225:
		return *(*[225]uint16)(unsafe.Pointer(&compound[0]))
	case 226:
		return *(*[226]uint16)(unsafe.Pointer(&compound[0]))
	case 227:
		return *(*[227]uint16)(unsafe.Pointer(&compound[0]))
	case 228:
		return *(*[228]uint16)(unsafe.Pointer(&compound[0]))
	case 229:
		return *(*[229]uint16)(unsafe.Pointer(&compound[0]))
	case 230:
		return *(*[230]uint16)(unsafe.Pointer(&compound[0]))
	case 231:
		return *(*[231]uint16)(unsafe.Pointer(&compound[0]))
	case 232:
		return *(*[232]uint16)(unsafe.Pointer(&compound[0]))
	case 233:
		return *(*[233]uint16)(unsafe.Pointer(&compound[0]))
	case 234:
		return *(*[234]uint16)(unsafe.Pointer(&compound[0]))
	case 235:
		return *(*[235]uint16)(unsafe.Pointer(&compound[0]))
	case 236:
		return *(*[236]uint16)(unsafe.Pointer(&compound[0]))
	case 237:
		return *(*[237]uint16)(unsafe.Pointer(&compound[0]))
	case 238:
		return *(*[238]uint16)(unsafe.Pointer(&compound[0]))
	case 239:
		return *(*[239]uint16)(unsafe.Pointer(&compound[0]))
	case 240:
		return *(*[240]uint16)(unsafe.Pointer(&compound[0]))
	case 241:
		return *(*[241]uint16)(unsafe.Pointer(&compound[0]))
	case 242:
		return *(*[242]uint16)(unsafe.Pointer(&compound[0]))
	case 243:
		return *(*[243]uint16)(unsafe.Pointer(&compound[0]))
	case 244:
		return *(*[244]uint16)(unsafe.Pointer(&compound[0]))
	case 245:
		return *(*[245]uint16)(unsafe.Pointer(&compound[0]))
	case 246:
		return *(*[246]uint16)(unsafe.Pointer(&compound[0]))
	case 247:
		return *(*[247]uint16)(unsafe.Pointer(&compound[0]))
	case 248:
		return *(*[248]uint16)(unsafe.Pointer(&compound[0]))
	case 249:
		return *(*[249]uint16)(unsafe.Pointer(&compound[0]))
	case 250:
		return *(*[250]uint16)(unsafe.Pointer(&compound[0]))
	case 251:
		return *(*[251]uint16)(unsafe.Pointer(&compound[0]))
	case 252:
		return *(*[252]uint16)(unsafe.Pointer(&compound[0]))
	case 253:
		return *(*[253]uint16)(unsafe.Pointer(&compound[0]))
	case 254:
		return *(*[254]uint16)(unsafe.Pointer(&compound[0]))
	case 255:
		return *(*[255]uint16)(unsafe.Pointer(&compound[0]))
	}

	return nil
}
